'use strict'

var Hogan = require('hogan.js');
var conf = {
    serverHost: ''
};
var _mm = {
    //    网络请求
    request: function (param) {
        var _this = this;
        $.ajax({
            type: param.method || 'get',
            dataType: param.type || 'json',
            url: param.url || '',
            data: param.data || '',
            success: function (res) {
                //                数据正常
                if (0 === res.status) {
                    typeof param.success === 'function' && param.success(res.data, res.msg);
                }
                //                重新登录
                else if (10 === res.status) {
                    _this.doLogin();
                }
                //                数据请求错误
                else if (1 === res.status) {
                    typeof param.error === 'function' && param.error(res.msg);
                }
            },
            error: function (err) {
                typeof param.error === 'function' && param.error(err.statusText);
            }
        });
    },
    //    跳转到登录页
    doLogin: function () {
        window.location.href = './user-login.html?redirect=' + decodeURIComponent(window.location.href);
    },
    //    获取服务器地址
    getServerHost: function (path) {
        return conf.serverHost + path;
    },
    //    获取url参数
    getUrlParam: function (name) {
        var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
        var result = window.location.search.substr(1).match(reg);
        return result ? decodeURIComponent(result[2]) : null;
    },
    // 渲染html模板
    renderHtml : function(htmlTemplate,data){
        var template = Hogan.compile(htmlTemplate);
        var result = template.render(data);
        return result;
    },
    // 成功提示
    successTips :function(msg){
        alert(msg || '操作成功')
    },
    // 错误提示
    errorTips : function(msg){
//        alert(msg || '操作失败')
        console.log('errorTips==='+msg);
    },
    // 验证
    validate : function(value,type){
        //非空验证
        if('require' === type){
            return !!value;
        }
        //手机号验证
        if('phone' === type){
            return /^1\d{10}$/.test(value);
        }
        //邮箱验证
        if('email' === type){
            return /^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/.test(value);
        }
    },
    // 返回主页
    goHome : function(){
        window.location.href = './index.html';
    }
};
module.exports = _mm;
